package com.geeguo.ebuilder.operation.business.system.operlog.service;

import com.geeguo.ebuilder.core.common.model.vo.PageListVO;
import com.geeguo.ebuilder.operation.base.security.model.LoginUser;
import com.geeguo.ebuilder.operation.business.system.operlog.model.OperLogEntity;
import com.geeguo.ebuilder.operation.business.system.operlog.model.OperLogQuery;
import com.geeguo.ebuilder.operation.business.system.operlog.model.OperLogVO;
import jakarta.servlet.http.HttpServletRequest;

import java.util.concurrent.CompletableFuture;

/**
 * 操作日志记录
 *
 * @author LiangHe
 */
public interface OperLogService {

    PageListVO<OperLogVO> list(OperLogQuery query);

    OperLogVO get(String id);

    boolean save(OperLogEntity entity);

    CompletableFuture<Boolean> saveLoginLog(LoginUser user, HttpServletRequest request);
}